#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
数据库备份脚本
每次执行会覆盖上一次的备份，只保留最新的备份文件
"""

import os
import shutil
import datetime
from pathlib import Path

def backup_database():
    """
    备份数据库文件，每次执行会覆盖上一次的备份
    """
    # 获取当前脚本的目录
    current_dir = Path(__file__).parent
    
    # 源数据库文件路径
    source_db = current_dir / "eqsystem.db"
    
    # 备份文件路径
    backup_db = current_dir / "eqsystem_backup.db"
    
    # 检查源数据库文件是否存在
    if not source_db.exists():
        print(f"错误: 源数据库文件 {source_db} 不存在")
        return False
    
    try:
        # 创建备份（覆盖上一次的备份）
        shutil.copy2(source_db, backup_db)
        
        # 获取文件大小信息
        source_size = source_db.stat().st_size
        backup_size = backup_db.stat().st_size
        
        # 获取当前时间
        backup_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        
        print(f"数据库备份成功完成!")
        print(f"备份时间: {backup_time}")
        print(f"源文件: {source_db} (大小: {source_size} 字节)")
        print(f"备份文件: {backup_db} (大小: {backup_size} 字节)")
        
        return True
    except Exception as e:
        print(f"备份过程中发生错误: {str(e)}")
        return False

if __name__ == "__main__":
    print("开始备份数据库...")
    success = backup_database()
    if success:
        print("备份操作成功完成!")
    else:
        print("备份操作失败!")
        exit(1)